home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / pc-hardware-faq / part2 < prev    next >
Text File  |  1994-04-11  |  56KB  |  1,161 lines

  1. Path: bloom-beacon.mit.edu!hookup!news.moneng.mei.com!howland.reston.ans.net!europa.eng.gtefsd.com!MathWorks.Com!noc.near.net!chpc.chpc.org!chpc.chpc.org!not-for-mail
  2. From: ralf@chpc.org (Ralph Valentino)
  3. Newsgroups: comp.sys.ibm.pc.hardware.video,comp.sys.ibm.pc.hardware.comm,comp.sys.ibm.pc.hardware.storage,comp.sys.ibm.pc.hardware.cd-rom,comp.sys.ibm.pc.hardware.systems,comp.sys.ibm.pc.hardware.networking,comp.sys.ibm.pc.hardware.chips,comp.sys.ibm.pc.hardware.misc,comp.answers,news.answers
  4. Subject: comp.sys.ibm.pc.hardware.* Frequently Asked Questions (FAQ) Part 2/5
  5. Followup-To: comp.sys.ibm.pc.hardware.misc
  6. Date: 11 Apr 1994 01:33:42 -0400
  7. Organization: Center For High Performance Computing
  8. Lines: 1138
  9. Sender: ralf@chpc.chpc.org
  10. Approved: news-answers-request@MIT.EDU
  11. Distribution: world
  12. Expires: 11 May 1994 00:00:00 GMT
  13. Message-ID: <2oanfm$f0t@chpc.chpc.org>
  14. Reply-To: ralf@wpi.edu
  15. NNTP-Posting-Host: localhost.chpc.org
  16. Summary: This is a monthly posting containing a list of Frequently
  17.      Asked Questions (and their answers) pertaining to hardware
  18.      and IBM PC clones.  It should be read by anyone who wishes
  19.      to post to any group in the comp.sys.ibm.pc.hardware.*
  20.      hierarchy.
  21. Xref: bloom-beacon.mit.edu comp.sys.ibm.pc.hardware.video:6700 comp.sys.ibm.pc.hardware.comm:2486 comp.sys.ibm.pc.hardware.storage:5012 comp.sys.ibm.pc.hardware.cd-rom:3343 comp.sys.ibm.pc.hardware.systems:2887 comp.sys.ibm.pc.hardware.networking:1848 comp.sys.ibm.pc.hardware.chips:5014 comp.sys.ibm.pc.hardware.misc:4921 comp.answers:4845 news.answers:17889
  22.  
  23. Archive-name: pc-hardware-faq/part2
  24. Last-modified: 1994/04/10
  25. Version: 1.3
  26.  
  27. S) 3.0 IO controllers/interfaces
  28.  
  29. Q) 3.1  *How do IDE/MFM/RLL/ESDI/SCSI interfaces work?
  30.  
  31. Q) 3.2  *How can I tell if I have MFM/RLL/ESDI/IDE/SCSI?
  32.  
  33. Q) 3.3  Do caching controllers really help?
  34.  
  35. [From: backbone!wayne@tower.tssi.com (Wayne Schlitt)]
  36.  
  37. The short answer, is that if you are using a multi-tasking
  38. operating system with a good memory manager, caching controllers
  39. should be ignored.  If you are running DOS or Windows, then *maybe*
  40. they will help, but I am not sure that they are a good buy.  
  41.  
  42. There are lots of people who have said "I put a caching controller in
  43. my computer, and it runs faster!".  This is probably true, but they
  44. never have measured the speed increase compared to putting the same
  45. memory into main memory instead.  More importantly, the caching
  46. controllers cost more money than non caching controllers, so you
  47. should be able to add _more_ main memory instead of buying a caching
  48. controller.
  49.  
  50. The following is a shortened up version of a much longer article.  If
  51. you want a copy of the longer article, send me email at
  52. "wayne@cse.unl.edu".
  53.  
  54. *** Why a multi-tasking operating system?
  55.  
  56. A multi-tasking operating system can allow the application to continue
  57. immediately after it does a write, and the actual disk write can
  58. happen later.  This is known as write behind.  The operating system
  59. can also read several blocks from the file when the application
  60. requests just part of the first block.  This is known as read a head.
  61. When the application requests the block later on, the block will
  62. already be there and the OS can then schedule some more reads.
  63.  
  64. A multitasking operating system is required because these operations
  65. can cause interrupts and processing when control has been given back to
  66. the application.  
  67.  
  68. Basically, operating systems such as DOS, MS-Windows, MacOS and such
  69. do not allow true preemptive multitasking and can not do the read a
  70. heads and the write behinds.  For these systems, the latency of a disk
  71. drive is the most important thing.  The application does not regain
  72. control until the read or write has finished. 
  73.  
  74. *** The controller can't speed up the disk.
  75.  
  76. Remember, the bottleneck is at the disk.  Nothing that the controller
  77. can do can make the data come off the platters any faster.  All but the
  78. oldest and slowest controllers can keep up with all but the newest and
  79. fastest disks.  The SCSI bus is designed to be able to keep *several*
  80. disks busy without slowing things down.
  81.  
  82. Speeding up parts of the system that are not the bottleneck won't help
  83. much.  The goal has to be to reduce the number of real disk accesses.
  84.  
  85. *** First, isn't the caching controller hardware and isn't hardware
  86. *** always faster than software?
  87.  
  88. Well, yes there is a piece of physical hardware that is called the
  89. caching controller, but no, the cache is not really "in hardware".
  90. Managing a disk is a fairly complicated task, complicated enough that
  91. you really can't implement the controller in combinatorial logic. 
  92.  
  93. So, just about all disk controllers and for that matter all disk
  94. drives have a general purpose computer on them.  They run a little
  95. software program that manages the communication between the main cpu
  96. and the disk bus, or the disk bus and the disk.  Often this cpu is put
  97. in with a bunch of other logic as part of a standard cell custom chip,
  98. so you might not see a chip that says "Z80" or such.
  99.  
  100. So, we are really not comparing "hardware" with "software", we are
  101. comparing "software on the controller" with "software on the main
  102. cpu".
  103.  
  104. *** Ok, why can the OS win?
  105.  
  106. Assume that you have a bunch of memory that you can either put into
  107. main memory and have the OS manage the cache, or put on a caching
  108. controller.  Which one will be better?  Let us look at the various
  109. cases. 
  110.  
  111. For a cache hit you have:
  112.  
  113. If the OS does the caching, you just have the OS's cache checking
  114. latency.
  115.  
  116. If the card does the caching, you will have the OS's cache checking
  117. latency, plus the I/O setup time, plus the controller's cache checking
  118. latency, plus you have to move the data from the card to main memory.
  119. If the controller does DMA, it will be taking away from the memory
  120. bandwidth that the main CPU needs.  If the controller doesn't have
  121. DMA, then the main CPU will have to do all the transfers, one word at
  122. a time.
  123.  
  124. For a cache miss, you have:
  125.  
  126. If the OS does the caching, you have the OS's cache checking latency
  127. plus the set up time for the disk I/O, plus the time it takes for the
  128. disk to transfer the data (this will be a majority of the time), plus the
  129. cost of doing either the DMA or having the CPU move the data into main
  130. memory. 
  131.  
  132. The caching controller will have all of the above times, plus it's own
  133. cache checking latency.
  134.  
  135. As you can see, the caching controller adds a lot of overhead no
  136. matter what.  This overhead can only be offset when you get a cache
  137. hit, but since you have the same amount of memory on the controller
  138. and the main cpu, you should have the same number of cache hits in
  139. either case.  Therefore, the caching controller will always give more
  140. overhead than an OS managed cache.
  141.  
  142. *** Yeah, but there is this processor on the controller doing the
  143. *** cache checks, so you really have a multi-processor system.
  144. *** Shouldn't this be faster than a single processor?  Doesn't this
  145. *** allow the main cpu to do other things while the controller manages
  146. *** the cache?
  147.  
  148. Yes, this really is a multi-processor system, but multi-processors are
  149. not always faster than uni-processors.  In particular, multi-processor
  150. systems have communication overhead.  In this case, you are
  151. communicating with the controller using a protocol that is fairly
  152. expensive, with outb instructions and interrupts and such.  The
  153. overhead of communicating with this other processor is greater than
  154. the overhead of just checking the cache on main cpu, even if the main
  155. cpu is very slow.  
  156.  
  157. The multi-processor aspect just doesn't help out when you are talking
  158. about managing a cache.  There is just too much communication overhead
  159. and too little processing for it to be a win.
  160.  
  161. *** Ok, but couldn't the caching controller do a better job of
  162. *** managing the cache?
  163.  
  164. Both the controller and the OS are going to be executing a piece of
  165. software, so in theory there isn't anything that the slower cpu on the
  166. controller can do that the OS can't do, but the OS can do things that
  167. the controller can't do.
  168.  
  169. Here are some of the things that the OS can do better:
  170.  
  171. * When you read a block from a file, the OS can read several more
  172.   blocks ahead of time.  Caching controllers often will read an entire
  173.   track in order to simulate this file read a head, but the rest of
  174.   the file isn't always on the same track, only the OS knows where the
  175.   blocks are really going to be at.  This can lead to wasted time and
  176.   cache memory reading data that will never be used.
  177.  
  178. * In order to improve file system reliability, some writes _must_
  179.   complete immediately, and _must_ complete in the order that they are
  180.   given.  Otherwise, the file system structures may not be left in a
  181.   coherent state if the system crashes.
  182.  
  183.   Other writes can be completed as time is available, and can be done
  184.   in any order.  The operating system knows the difference between
  185.   these cases and can do the writes appropriately.
  186.  
  187.   Caching controllers, on the other hand, don't know if the write that
  188.   it was just given _must_ be written right away, or if it can wait a
  189.   little bit.  If it waits when it shouldn't, you are risking your
  190.   file system and data.  
  191.  
  192. * Sometimes, you want a large disk cache if you are accessing lots of
  193.   data off the disk.  At other times, you want a small disk cache and
  194.   more memory left to programs.  The operating system can balance
  195.   these needs dynamically and adjust the amount of disk cache
  196.   automatically.
  197.  
  198.   If you put the memory on a caching controller, then that memory can
  199.   _only_ be used for disk caches, and you can _never_ use more.
  200.   Chances are, you will either have too much or too little memory
  201.   dedicated to the cache at any give time. 
  202.  
  203. * When a process closes a file, the operating system knows that the
  204.   blocks associated with that file are not as likely to to be used
  205.   again as those blocks associated with files that are still open.
  206.   Only the operating system is going to know when files are closed,
  207.   the controller won't.  Similar things happen with processes.
  208.  
  209. * In the area of Virtual Memory, the OS does an extremely better job
  210.   of managing things.  When a program accesses a piece of memory, the
  211.   CPU will do a hardware level check to see if the page is in memory.
  212.   If the page is in memory, then there will basically be no delay.  It
  213.   is only when the page isn't in memory that the OS gets involved.
  214.  
  215.   Even if all of those extra pages are sitting in the
  216.   caching controller's memory, they still have to be moved to main
  217.   memory with all the overhead that that involves.
  218.  
  219.   This is why dynamic caches vs program memory is so important.
  220.  
  221. *** What is the "Memory Hierarchy" and how does this relate to
  222. *** caching controllers?
  223.  
  224. The basic idea of a memory hierarchy is to layer various types of
  225. memory, so that the fastest memory is closest to the cpu.  Faster
  226. memory is more expensive, so you can't use only the fastest type and
  227. still be cheap.  If a piece of data isn't in the highest (fastest)
  228. level of the hierarchy, then you have to check the next level down.
  229.  
  230. In order for a memory hierarchy to work well, you need to make sure
  231. that the each level of the hierarchy has much more storage then the
  232. level above it, otherwise you wont have a high hit rate.
  233.  
  234. The hierarchy on a 486 goes something like this:
  235.  
  236. 8 regs << 8k on chip cache << 256k off chip cache << main memory << disk
  237.  
  238. If you are going to put something between main memory and disk, it
  239. needs to be much larger than main memory in order for it to be
  240. effective. 
  241.  
  242. *** What about all these neat things that a caching controller can do
  243. *** such as elevator seeking, overlapping seeks with reads and writes,
  244. *** scatter/gather, etc...
  245.  
  246. These are nice features, but they are all done by either the OS or a
  247. good SCSI controller anyway.  None of these things are at all related
  248. to supporting the cache, so you shouldn't buy a caching controller for
  249. just these features.
  250.  
  251. *** Ok, you have talked about things like Unix, OS/2 and Windows NT,
  252. *** but what about DOS and MS-Windows?
  253.  
  254. Well, here things get a lot grayer.  First, older versions of DOS have
  255. notoriously bad disk cache programs.  Since neither DOS nor MS-Windows
  256. are preemptive multi-tasking systems, it is much harder to do read a
  257. head.  Also, since DOS/MS-Windows users are used to being able to
  258. power off their computers at any time, doing write behind is much more
  259. dangerous.  DOS and MS-Windows also can crash much easier than these
  260. other OS's, so people might reboot for many reasons.  
  261.  
  262. Caching controllers usually leave the hard disk light on when they
  263. have data that hasn't been written out, and people don't usually power
  264. their computer off until that light goes out.  This lets the
  265. controllers do write behind fairly safely.  (But you can still loose
  266. power, so this isn't risk free.)  They also do crude read a heads by
  267. prereading entire tracks.
  268.  
  269. DOS also runs in real mode and real mode can only access 640K of
  270. memory.  This mean that a disk cache can be real helpful.
  271. Unfortunately, to do a software based disk cache, the cpu has to be
  272. switched into protected mode in order to access memory beyond the 640K
  273. boundary and then you have to switch back into real mode.  Intel,
  274. however forgot to make it easy to switch back to real mode.   All in
  275. all, this switching back and forth ends up being real expensive.  This
  276. _might_ be more expensive than just using a caching controller, I
  277. don't know.
  278.  
  279. So, it is possible that if you configure DOS to not use a cache, and
  280. get a caching controller, then you might be a head.  I really don't
  281. know much about this area.  I have not done any real timings of this.
  282.  
  283. *** So, when would you ever want to buy a caching controller?
  284.  
  285. The answer is not too often, but there are a few cases that I can
  286. think of:
  287.  
  288. * You have filled up all your SIMM slots on your motherboard and in
  289.   order to add more memory you would have to throw some out.  This is
  290.   a real shaky reason.  You can always sell your old memory, or move
  291.   it to another computer.  The jump from 4 1MB SIMMs to 4 4MB SIMMs is
  292.   large, but you will be much better off in the long run with more
  293.   main memory.
  294.  
  295. * You have maxed out your memory and you need it all for programs and
  296.   data.  If you can't put any more memory on the mother board, then
  297.   you don't have many choices.
  298.  
  299. * If you have a bunch of slow (100ns-120ns) memory left over from say
  300.   a 286 or something and you can't use it on your motherboard because
  301.   it is too slow, then maybe adding it to a caching controller
  302.   will help.  Be careful however, if your hit rates on the caching
  303.   controller are too low, then you may be just adding overhead without
  304.   getting any benefits.
  305.  
  306. * If you are stuck with a bad OS because that's what your applications
  307.   run on, then you might be better off with a caching controller.
  308.  
  309. *** What about those disk drives that come with caches, are they bad too?
  310.  
  311. Don't confuse caching disk controllers with cache on disk drives.  The
  312. latter is actually useful.  The little cpu on the disk drive has to
  313. read every byte that comes off the disk in order to see when the
  314. sector that you are interested in has come under the heads and to do
  315. any error detection and correction.  The disk also has to have buffers
  316. in case the bus is busy, and to sync up the speeds of the bus and the
  317. heads.
  318.  
  319. Since all this data is going though the cpu on disk drive and you have
  320. to have a buffer anyway, just making the buffer larger and saving the
  321. entire track is an easy win.  Saving a couple of the most frequent
  322. tracks is also a win.
  323.  
  324. Most of these caches on the disk drives are fairly small (64k-256k),
  325. and a single memory chip will give you about that amount of memory
  326. anyway, so you aren't wasting many resources.  This also allows the OS
  327. to always assume that interleaving is not necessary to get full disk
  328. throughput, even if it does a fair amount of processing between disk
  329. requests. 
  330.  
  331. Q) 3.4  Do IDE controllers use DMA?
  332.  
  333. No, they do not.  This is a rumor that keeps popping up.  This may
  334. change on the next revision of the standard.
  335.  
  336. Q) 3.5  *How do I get an MFM/RLL/ESDI & IDE drive to coexist with each other?
  337.  
  338. Q) 3.6  Why won't my two IDE drives work together?
  339.  
  340. [From: jruchak@mtmis1.mis.semi.harris.com (John Anthony Ruchak)]
  341.  
  342. Assuming that the drives are attached to the same controller and they
  343. work properly when attached one-at-a-time, you probably don't have
  344. them configured properly for Master/Slave operation.
  345.  
  346. When operating 2 IDE drives, one must be designated as "Master" and
  347. the other as "Slave."  There are jumpers on every IDE drive to
  348. configure this.  Check your hard drive manuals for the jumper settings
  349. for your drives.  In general, it doesn't matter which is which - just
  350. pick one as master, and make the other slave.
  351.  
  352. In your CMOS configuration, Drive 1 should have the parameters (heads,
  353. cylinders, etc.) that match the drive you set as "Master" and Drive
  354. 2's parameters should match those of the "slave" drive.  In operation,
  355. the Master will appear as drive C: and the slave as drive D:.
  356.  
  357. Because not all hard drive manufacturers follow the IDE specifications
  358. closely enough, drives from 2 different manufacturers may not work well
  359. together.  In this case, changing master -> slave and slave -> master
  360. (along with the appropriate CMOS changes) may help.  If it doesn't,
  361. then trying two drives from the SAME manufacturer is the only avenue
  362. you have left.
  363.  
  364. Q) 3.7  *Which is better, VLB or ISA IDE?
  365.  
  366. Q) 3.8  How do I install a second controller?
  367.  
  368. [From: strople@ug.cs.dal.ca (PAUL LESLIE STROPLE)]
  369.  
  370. The following should solve about 95% (9.5?) of second controller
  371. problems, if only to tell you it can't be done!
  372.  
  373. Generic Second Controller Installation:
  374.  
  375. 1) Normally the MFM/IDE/RLL controller is set up as the primary, and
  376. the ESDI/SCSI as the secondary; One reason for this is because the
  377. ESDI/SCSI controller cards are usually more flexible in their set up
  378. and secondly this method seems to work (probably due to reason one).
  379.  
  380. 2) Your primary controller is set up using all the normal defaults:
  381.    - Floppy  at primary address(3F0-3F7).
  382.    - Hard disk enabled, at primary addresses (1F0-1F7),
  383. BIOS address C800 and interrupt 14.
  384.  
  385. 3) Your secondary controller is set up as:
  386.    - Floppy drives disabled
  387.    - Hard disk controller enabled, secondary address(170- 177) and
  388.      interrupt 15.
  389.    - NOTE: onboard bios set to D400, or D800 can be used, if there is a
  390.      conflict.
  391.  
  392. 4) Computer BIOS Setup:
  393.    - Any drive(s) on the primary controller (MFM/IDE), should be
  394.      entered in the BIOS setup as usual.
  395.    - You DO NOT enter the drive types for the hard disks on the
  396. secondary controller, even if there are only two drives in the entire
  397. system i.e., if one drive on each controller you only enter the drive
  398. type of the hard disk on the primary controller -- the 2nd drive type
  399. is left as not installed (0).
  400.  
  401. Operating System:
  402.  
  403. If you do the above steps you now have the hardware setup correctly;
  404. your only other problem may be with the operating system.
  405.  
  406. Different OSs handle secondary controllers differently; as well,
  407. different controllers handles same OSs differently (scared yet?).
  408.  
  409. For example: with DOS you may require a device driver (available from
  410. the manufacture or through third party companies, such as Ontrack
  411. Computer Systems -- more on Ontrack later). Some flavors of UNIX
  412. handle a mixture of controllers better than others (e.g., IA 5.4 had
  413. probs mixing ESDI and SCSI controllers under certain conditions).
  414.  
  415. Procedure:
  416.  
  417. You should verify that your secondary controller, and associated hard
  418. drives, are working properly (you can try this by installing it as the
  419. primary system -- removing existing system first!).  Follow above
  420. steps 1 to 4, pray, and turn on system! If it still won't work you may
  421. need additional drivers. First check with the supplier or manufacture
  422. (I know, for example, a DTC ESDI controller comes with the DOS drivers
  423. included, and it works perfectly).
  424.  
  425. I am not sure of operating systems supported by Ontrack Data Systems.
  426. I know that their DOS driver can assist secondary controllers, even
  427. allowing two IDEs to co-exist. Likewise, the drivers can also install
  428. virtually any drive, regardless of what is supported by the BIOS.
  429.  
  430. BIG NOTE: The features required in a secondary controller a normally
  431. not found on a $30.00 IDE controller. The best thing to do it, if
  432. possible, is to get a guarantee from the supplier/manufacture that if
  433. it doesn't work (and they can't make it) then they will take it back.
  434.  
  435. Ontrack supplies a complete range of hard disk products and services
  436. -- from driver software, data recovery services, to media and data
  437. conversions (including tape backups).  The product I know them from is
  438. DiskManager.
  439.  
  440. Disk Manager is a utility for hard disk management. It will allow you
  441. to setup and install virtually any hard disk, regardless of disk's
  442. layout and BIOS options available. Disk Manager (version greater than
  443. 5.2.X, or there abouts) includes a driver for co-resident controllers.
  444. For driver to work the co-res board must be able to hit the above
  445. addresses and must be WD1003 AT command set compatible (this includes
  446. most IDE and ESDI boards).
  447.  
  448. DM contains a number of features, including full diagnostics.  You may
  449. not need to know the disk's geometry, as there are numerous layouts
  450. stored internally. All you need to do is select the correct model and
  451. DM does the rest.
  452.  
  453. To contact Ontrack: U.S.  (800)-872-2599; UK 0800-24 39 96 this is
  454. either an address or phone number! outside U.K. (but NOT U.S.)
  455. 44-81-974 5522
  456.  
  457. Q) 3.9  Which is better, SCSI or IDE?
  458.  
  459. [From: ralf@wpi.wpi.edu (Ralph Valentino)]
  460.  
  461. IDE vs SCSI
  462.  
  463. Non-issues:
  464. 1) SCSI and IDE devices cost approximately the same for the same
  465.    features (size, speed, access time).  Shop around for good prices.
  466.  
  467. Advantages of IDE:
  468. 1) faster response time (low request overhead)
  469. 2) hard drive interface is compatible with RLL/MFM/ESDI: any driver
  470. for one (including the main system BIOS) will run the other.
  471. 3) IDE controllers are considerably cheaper ($150 and up) than SCSI
  472.    host adapters. 
  473. 4) Will always be the boot device when mixed with SCSI.
  474.  
  475. Advantages of SCSI:
  476. 1) Supports up to 7 devices per host adapter.  This saves slots,
  477. IRQ's, DMA channels and, as you add deviceds, money.
  478. 2) Supports different types of devices simultaneously the same host
  479. adapter (hard drives, tape drives, CDROMs, scanners, etc).
  480. 3) SCSI devices will work in other systems as well (Mac, Sparc, and
  481. countless other workstations and mainframes).  If you change platforms
  482. in the future, you will still be able to use your SCSI devices.
  483. 4) Automatically configures device type, geometry (size), speed and
  484. even manufacturer/model number(SCSI-2).  No need to look up CMOS
  485. settings.
  486. 5) Busmastering DMA (available in all but a few cheap SCSI host
  487. adapters) decreases amount of CPU time required to do I/O, leaving
  488. more time to work on other tasks (in multitasking OS's only).
  489. 6) Software portability - drivers are written for the host adapter,
  490. not the specific device.  That is, if you have a CDROM driver for your
  491. host adapter, you can purchase any brand or speed SCSI CDROM drive and
  492. it will work in your system.
  493. 7) Will coexist with any other type of controller (IDE/RLL/MFM/ESDI)
  494. or host adapter (other SCSI cards) without any special tricks.  SCSI
  495. host adapters do not take up one of the two available hard drive
  496. controller port addresses.
  497. 8) greater bandwidth utilization (higher throughput) with multiple
  498. devices.  Supports pending requests, which allows the system to
  499. overlap requests to multiple devices so that one device can be seeking
  500. while the second is returning data.
  501. 9) Ability to "share" devices between machines by connecting them to
  502. the same SCSI bus.  (note: this is considerably more difficult to do
  503. than it sounds).
  504. 10) Bridges are available to hook RLL and ESDI drives to your SCSI host
  505. adapter.  (note: these tend to be prohibitively expensive, though).
  506.  
  507. Warnings:
  508. 1) With otherwise equal drives, IDE will perform better in DOS due to
  509. low command overhead.  SCSI, however, will perform better in
  510. multitasking OS's (OS/2, Unix, NT, etc).  If you see speed comparisons
  511. (benchmarks), make sure you know what OS they were run under.
  512. 2) Most benchmarks only test one aspect of your system at a time, not
  513. the effect various aspects have on each other.  For instance, an IDE
  514. drive may get faster throughput but hurt CPU performance during the
  515. transfer, so your system may actually run slower.  Similar confusions
  516. arise when comparing VLB and EISA host adapters.
  517. 3) When comparing two systems, keep in mind that CPU, memory, cache,
  518. and bus speed/type will all effect disk performance.  If someone gets
  519. great I/O performance with a particular controller/drive combination
  520. on his Pentium, you should not expect your 386SX-25 to get such I/O
  521. performance even with the exact same controller/drive combination.
  522. 4) Similarly sized or even priced drives may not perform equally, even
  523. if they're made by the same manufacturer.  If you're going to compare
  524. two drives, make sure they have the exact same model number.  (IDE
  525. drives usually have an 'A' and SCSI drives usually have an 'S'
  526. appended to their model number).
  527.  
  528. Q) 3.10  Can MFM/RLL/ESDI/IDE and SCSI coexist?
  529.  
  530. The PC is limited to two drive controllers total.  SCSI, however, is a
  531. "host adapter" and not a drive controller.  To the rest of your
  532. system, it appears more like an ethernet card than a drive controller.
  533. For this reason, SCSI will always be able to coexist with any type
  534. dive controller.  The main drawback here is that on most systems, you
  535. must boot off a disk on the primary drive controller, if you have one.
  536. That means if you have SCSI and IDE in your system, for example, you
  537. can not directly boot from the SCSI drive.  There are various ways to
  538. get around this limitation, including the use of a boot manager.
  539.  
  540. Q) 3.11  What's the difference between SCSI and SCSI-2? Are they compatible?
  541.  
  542. The main difference between SCSI and SCSI-2 are some new minor
  543. features that the average person will never notice.  Both run at a
  544. maximum 5M/s.  (note: Fast and Wide SCSI-2 will potentially run at
  545. faster rates).  All versions of SCSI will work together.  On power up,
  546. the SCSI host adapter and each device (separately) determine the best
  547. command set the speed that each is capable of.  For more information
  548. on this, refer to the comp.periphs.scsi FAQ.
  549.  
  550. Q) 3.12  Can I share SCSI devices between computers?
  551.  
  552. There are two ways to share SCSI devices.  The first is removing the
  553. device from one SCSI host adapter and placing it on a second.  This
  554. will always work if the power is off and will usually work with the
  555. power on, but for it to be guaranteed to work with the power on, your
  556. host adapter must be able to support "hot swaps" - the ability to
  557. recover from any errors the removal/addition might cause on the SCSI
  558. bus.  This ability is most common in RAID systems.
  559.  
  560. The second way to share SCSI devices is by connecting two SCSI busses
  561. together.  This is theoretically possible, but difficult in practice,
  562. especially when disk drives are on the same SCSI chain.  There are a
  563. number of resource reservation issues which must be resolved in the
  564. OS, including disk caching.  Don't expect it to 'just work'.
  565.  
  566. Q) 3.13  How do I swap A: and B:
  567.  
  568. [From: rgeens@wins.uia.ac.be (Ronald Geens)]
  569.  
  570. To swap A: and B: drives :
  571. 1) open up your machine to see if look at the cable that interconnects
  572. the 2 drives.
  573. 2) if the cable is twisted, there is no problem, just switch the
  574. connectors from 1 drive to the other.And change the bios-setup.
  575. 3) if the cable isn't twisted (which is very,very rare), it's a little
  576. harder: leave the cables as they are, but change the jumpers on the
  577. drive. (this sounds a lot tougher, but it can usually be done without
  578. to much hassle.  When the cable connecting the 2 drives is just a flat
  579. one (like the harddisk cable) then you must play with the jumpers on
  580. the drives: Most of the time, there is a jumper with 4 pins, with the
  581. following layout:
  582.                                _
  583.                               |1|
  584.                  |2*3|
  585.                               ---
  586.  
  587. Where the * is the 4th unnumbered pin. Normally the A: drive will have a 
  588. jumper on pin 2 & 4 and the B: drive on 1 & 4. Just change these jumpers 
  589. around, (i.e. new A: 2&4, new B: 1&4) and change the BIOS configuration.
  590. 4) Don't panic if it doesn't work, just make sure all cables are
  591. conected properly and if that doesn't work just restore everything to
  592. its old state.
  593. PS. By twisted cable, I mean that between the A: and B: drive, a few
  594. wires of the flat cable are turned around.
  595.  
  596. [From: sward+@CMU.EDU (David Reeve Sward)]
  597.  
  598. I have found two ways to do this: I originally switched their
  599. positions on the cable attached to the controller, and changed the
  600. BIOS to reflect this.  I recently got a gsi model 21 controller for my
  601. IDE drive, and this controller allows you to specify which drive is A:
  602. and B: in software (it lights the LEDs in turn and asks which is A:
  603. and which is B:).  This did not require a cable change (but I still
  604. changed by BIOS).
  605.  
  606. Q) 3.14  What is a 16550 and do I need one?
  607.  
  608. The 16550 is a UART with two 16 byte FIFOs.  A UART is the part of a
  609. serial port that takes byte-wide (characters) data and converts it to
  610. bit-wide (serial) data, and visa versa.  The FIFO is a buffer which
  611. can hold characters until the CPU is ready to remove it or until the
  612. serial line is ready to transmit it.  The 'normal' UART in the PC (the
  613. 8250 or 16450) only has 1-byte FIFOs.  The additional 15 bytes can be
  614. useful when the CPU is busy doing other things - if the CPU isn't able
  615. to remove data fast enough, it will be lost.
  616.  
  617. A very important thing to note is that under DOS, the CPU doesn't have
  618. anything else to do, so the 16550 is wasted.  Only under multitasking
  619. operating systems does it really become useful.  The 16550 will *not*
  620. make your file transfers any faster, it will only prevent data from
  621. being lost and relieve your CPU of some overhead.  If you notice
  622. system performance dropping like a rock when file transfers are
  623. occurring, a 16550 may be helpful.  If you see re-transmissions (bad
  624. packets) or "FIFO overrun's" during file transfers under a
  625. multitasking OS, try the same thing under DOS - if the errors go away,
  626. then chances are a 16550 will be useful.  If they remain, then your
  627. problem is likely to be elsewhere.
  628.  
  629. Q) 3.15  *Are there any >4 serial port cards?
  630.  
  631. Q) 3.16  Should I buy an internal or external modem?
  632.  
  633. [From: arnoud@ijssel.hacktic.nl (Arnoud Martens)]
  634.  
  635. While low speed modems are often only produced as an internal PC card,
  636. most modem manufacturers provide two versions of their higher speed
  637. modems:
  638.  
  639. 1: internal ISA bus card, specially designed to work with the
  640. standard PC bus. You just plug it in and configure it to use on
  641. port.
  642.  
  643. 2: external modem that has to be connected to the serial ports of
  644. your PC (com 1-4), using a serial RS232 cable.
  645.  
  646. In most cases the functionality of these two is equal. There are
  647. however some differences in using, maintaining and buying these
  648. modems. It is very difficult to give an definite answer as to which one
  649. is better, it completely depends on your own situation. Some of the
  650. points that are in favor of an external modem are:
  651.  
  652.   * It has lights showing the status of the connection, this can be
  653.     useful in those (rare) cases that you have problems with the
  654.     connection.
  655.  
  656.   * It can be used on a wide range of systems. External modems
  657.     are connected using a RS232 cable, a standard that most computer
  658.     systems support. So you can as easily use your external modem
  659.     on a Mac, Amiga or Unix box as on your PC. 
  660.  
  661.   * It doesn't consume power inside the PC (it uses a normal net
  662.     adapter), and doesn't produce any heat inside your PC.
  663.  
  664. On the other hand the internal modem has also a couple of advantages
  665. compared to an external modem:
  666.    
  667.   * It is always cheaper, Somewhere in the order of 10% less compared
  668.     to the same external modem.
  669.  
  670.   * It doesn't need special serial hardware since it has already
  671.     been integrated on the board, which will make it even more
  672.     cheaper. 
  673.    
  674. So basically if portability of your modem is an issue, you are better
  675. of with an external modem. But if you only intend to use the modem
  676. with your PC and don't have any power problems, an internal modem is
  677. the best choice.
  678.  
  679. Q) 3.17  What do all of the modem terms mean?
  680.  
  681. [From: arnoud@ijssel.hacktic.nl (Arnoud Martens)]
  682.  
  683. A modem (MOdulator-DEModulator) is a device capable of converting digital
  684. data from your computer into an analog signal that is suitable for
  685. transmission over low band width telephone lines. A modem thus makes it
  686. possible to connect two computers over a telephone line and exchange data
  687. between them.
  688.  
  689. Basically a modem picks up the phone, and dails a number. A modem on
  690. the other side will pick up the phone and the two modems will
  691. negotiate which protocol to use. When they agree the actual
  692. transmission of data can begin.
  693.  
  694. The major feature of a modem is the speed that it can achieve
  695. connecting to other modems. This speed is often expressed in baud or
  696. bits per second. The first is a feature of the line and specifies how
  697. much of the bandwidth of the phone channel is used and is fixed to
  698. 2400 baud. A baud is defined as the number of lines changes per
  699. second. Bits per second is the actual amount of data transmitted in
  700. one second. Most modems are capable of sending more than one bit per
  701. line transition by using very intelligent signal modulation
  702. techniques. So the bps can be eight times higher compared to trhe baud
  703. rate.
  704.  
  705. The modulation techniques that a modem uses are standarized by the
  706. ITU-T ( former CCITT), so that modems of different brands can connect
  707. to each other as they use the same modulation schemes. These standards
  708. are often incorporated in a protocol definition that is referred to by
  709. the letter V followed by a number. The most common protocols are:
  710.  
  711.     V21: (300 baud)
  712.     V22bis: (2400 baud)
  713.     V32: (9600 baud)  
  714.     V32bis: (14400 baud)
  715.  
  716. A modem is often advertised only by its fastest protocol, most of these
  717. modems "speak" slower protocols as well.
  718.  
  719. There are also standards on using data compression by the modem, such as MNP5
  720. and V42bis, and error control protocols (V42 and MNP4). These standards can
  721. reduce the transmitted data by a factor four, by using advanced compression
  722. techniques. 
  723.  
  724. To give you an idea a how fast fast is in modem technology: V32bis transmits
  725. somewhat like 1600 characters per second (that is ~33% of 1 page of
  726. text). Transferring a file of 1Mb takes about 12 minutes. Using V42bis can
  727. speed up transmission to 4000 characters per second for uncompressed data.
  728.  
  729. Apart from these standardized protocols there are also faster protocols which
  730. are supported by some modem manufacturers. But remember anything faster than
  731. 14k4 is *not yet* standarized, and often different manufacturers use their
  732. own modulation scheme that allows only their own modems communicate at that
  733. speed. The most common high speed protocols are:
  734.  
  735.     V32 terbo (19200 baud)
  736.     V34 (28800 baud) or Vfast. 
  737.  
  738. The standard for V34 is being worked on, it will be released somewhere in
  739. 1994. Some modem manufacturers already sell modems with the (prelimenary) V34
  740. standard. If you are serious about buying a fast modem, upgradability to this
  741. standard should be provided by the manufacturer.
  742.  
  743. When you use your modem it is important to differentiate between command
  744. status and connect status of your modem. When you are connected to an another
  745. modem everything you send to the modem, will be transmitted to the other
  746. modem. In command mode everything you type will be recieved and interpreted
  747. by the modem. Command mode allows you to change the default settings for
  748. youyr modem.
  749.  
  750. In command mode it is likely that your modem will respond to the Hayes AT
  751. command set. "AT commands" all have prefix AT, and can be used to change the
  752. (default) settings of your modem. To check if your modem works, fire up a
  753. terminal program (such as kermit), connect to your modem (in kermit c
  754. [ENTER]) and issue AT [ENTER], if your modem works it should respond with
  755. OK. For a list of all "AT commands" see the manual of your modem, as most AT
  756. commands are modem specific.
  757.  
  758. If you buy a fax-modem, you should pay attention to a couple of things. First
  759. the modem must support Class 2 fax commands, furthermore automatic fax mode
  760. selection is a big pro. That means if you receive a call the modem is capable
  761. of detecting a fax message or a modem connection and act properly (start up a
  762. fax receiving program or spawn something like a login process on the
  763. connection).
  764.  
  765. Finally there is no best modem to get, brands and qualities change very fast,
  766. as do the prices. If you are interested in buying one, subscribe to the
  767. newsgroup comp.dcom.modems, most postings in this group are very brand
  768. oriented and you will recognize fast enough which users are satisfied over
  769. their modems and which are not.
  770.  
  771. Q) 3.18  What kinds of sound cards are avalable?
  772.  
  773. This is covered in the comp.sys.ibm.pc.soundcard FAQ, archive name:
  774. PCsoundcard/soundcard-faq.  Please refer to this document for more
  775. information.
  776.  
  777. Q) 3.19  Where can I find EISA/VLB sound and IO cards?
  778.  
  779. Chances are that you won't be able to find them anywhere, and if you
  780. do, they won't be worth the money.  Sound and IO cards have very low
  781. bandwidth requirements, over 10 times lower than the ISA bandwidth and
  782. over 60 times lower than the EISA bandwidth.  For this reason, there
  783. is no advantage in placing them on the more expensive EISA/VLB cards
  784. when the less expensive ISA will more than suffice, especially
  785. considering than all ISA cards will work in an EISA/VLB slot.
  786.  
  787. Q) 3.20  +How does the keyboard interface work?
  788.  
  789.  
  790. [From: jhallen@world.std.com (Joseph H Allen)]
  791.  
  792. The IBM keyboard is connected to the computer through a serial interface
  793. similar to a COM port.  When you press a key, the keyboard sends a
  794. "scan-code" for that key to the computer.  When you release the key, the
  795. keyboard sends a release code to the computer.  If you hold down one key and
  796. press and release another key, the computer will receive the scan-code for
  797. the held key and a scan and release code for the other key.  Since the
  798. release code for the held key was not received, the computer knows that the
  799. held key was down while the other key was pressed.  In this way, the
  800. computer can handle the Shift, Alt and Ctrl keys (and any key could work
  801. like a shift key, since all keys work alike).  The ROM BIOS in the computer
  802. buffers the data from the keyboard, translates the scan-codes to ASCII and
  803. handles the operation of the shift and lock keys.  The keyboard itself also
  804. has a small buffer and there is hardware flow-control for preventing
  805. overruns.  All of this seems simple and quite elegant, but by the time we
  806. get to the AT keyboard the details of the implementation are so complicated
  807. as to ruin an otherwise ideal keyboard.
  808.  
  809. The XT keyboard's interface almost captures the above elegance (indeed it is
  810. the only elegant thing about the XT, IMHO).  The interface uses a 5-pin DIN
  811. connector with these signal assignments:
  812.  
  813.      1     CLK/CTS (open-collector)
  814.      2     RxD
  815.      3     RESET
  816.      4     GND
  817.      5     +5V
  818.  
  819. When the keyboard has a byte to send to the computer, it shifts 9 bits out
  820. to the data line (RxD) with nine clock pulses on the CLK line.  The data
  821. format is 1 start bit, followed by 8 data bits.  The baud rate is roughly
  822. 2000 bits per second and is not precisely defined.  Once a byte is
  823. completely transmitted, the computer holds the Clear-To-Send (CTS) line low
  824. to prevent the keyboard from sending any more bytes until the keyboard
  825. interrupt handler reads the current one.  Usually a simple 9-bit clearable
  826. TTL shift register is used to receive keyboard data.  The 9th bit of the
  827. shift register is used to drive an open-collector buffer connected to the
  828. CTS line.  When the start-bit gets all of the way through the shift
  829. register, it holds the CTS line low itself.  Once the CPU reads the
  830. assembled byte, it has only to clear the shift register to release the CTS
  831. line and allow another byte to be received.  Three TTL chips or a single PAL
  832. can implement an entire XT keyboard interface.
  833.  
  834. The data bytes which the XT sends are also simple.  Codes 0-127 are the
  835. scan-codes.  Codes 128-255 are the release codes- they're the same as the
  836. scan codes, but with the high bit set.  The XT keyboard has only 84 keys, so
  837. not all of the scan-codes are used.
  838.  
  839. The only problems with the XT keyboard are the lock-status lights
  840. (Caps-lock, Scroll-lock and Num-lock) and the key repeat mechanism.  The
  841. lock-status lights can get out of sync with the computer's idea of which
  842. lock keys are activated, but this only happens if someone resets the
  843. keyboard by unplugging it temporarily.  When you hold a key down long
  844. enough, the keyboard starts repeating the scan-code for that key.  The
  845. release code is still only transmitted once, when the key is released.  The
  846. problem here is that the delay to the start of the repeats and the repeat
  847. rate were made too slow.  Of course, the keyboard really doesn't have to
  848. handle repeat at all, since the computer knows when keys are pressed and
  849. released and has a timer itself.  Old XT keyboard TSRs allowed you to adjust
  850. the repeat delay and rate by duplicating the key repeat mechanism in the
  851. computer.
  852.  
  853. Once IBM found that it had a nearly perfect keyboard it, of course, decided
  854. that it had to be almost completely redesigned for the AT.  The keyboard
  855. didn't have to be redesigned- there were enough extra scan-codes for the
  856. AT's 101 key keyboard and the repeat mechanism could simply have been moved
  857. to the BIOS.  But no, they had to redesign everything.  Sigh.
  858.  
  859. The AT uses a 5-pin DIN and the PS/2 uses a smaller connector with the same
  860. signals:
  861.  
  862.      1     CLK/CTS (open-collector)
  863.      2     RxD/TxD/RTS (open-collector)
  864.      3     Not connected or Reset
  865.      4     GND
  866.      5     +5V
  867.  
  868. Now the interface is bi-directional.  When the computer wants to send a byte
  869. to the keyboard, it asserts RTS and releases CTS.  If you're lucky, the
  870. keyboard isn't deciding to transmit at the same time and it responds by
  871. giving 10 clock pulses (at about 10000 baud) on the CLK line.  The computer
  872. shifts a frame out on TxD on rising clock edges.  The frame format is now 1
  873. start bit, 8 data bits and 1 odd parity bit.  The keyboard takes RTS being
  874. held low as the first start bit, and the first data bit should be sent on
  875. TxD after the first clock edge is received.  Yes, now you need a full UART
  876. for the keyboard interface since you have to both transmit and receive and
  877. generate and check parity (but it's still not RS-232- that would have been
  878. too logical).  Why do you need parity checking on a three foot long keyboard
  879. cable?  Because collisions can occur since the lines are so overloaded with
  880. signals with different meanings and parity provides the means for detecting
  881. these collisions.
  882.  
  883. The AT documentation says that pin 3 is "reserved", so the keyboard has to
  884. provide its own reset.  But on the original AT, pin 3 was still Reset and
  885. IBM's own keyboards at that time needed Reset (original AT keyboards won't
  886. work on some old clones because of this).  Don't ask me... I don't
  887. understand why they did this.
  888.  
  889. The protocol on the keyboard interface is now much more complicated.  These
  890. bytes are defined:
  891.  
  892. Commands
  893.  
  894.   ED <byte>                 Set leds depending on byte
  895.                               bit 0 is Scroll lock
  896.                               bit 1 is Num lock
  897.                               bit 2 is Caps lock
  898.  
  899.   EE                        Echo EE (for testing?)
  900.   F0 <mode>                 Select mode 1, 2 or 3
  901.   F2                        Send keyboard I.D.
  902.   F3 <byte>                 Set repeat delay and rate
  903.                               byte is: 0ddbbaaa
  904.                               delay is (dd+1)*250 msec
  905.                               rate is (8+aaa)*2^bb*4 msec
  906.  
  907.   F4                        Clear buffer
  908.   F5                        Restore default settings and wait for enable
  909.   F6                        Restore default settings
  910.   FA                        Acknowledge
  911.   FE                        Error- please retransmit
  912.   FF                        Reset keyboard
  913.  
  914. Status returns
  915.  
  916.   00                        Buffer overflow
  917.   AA                        Self-test passed
  918.   F0 <scan-code>            Release code
  919.   FA                        Acknowledge last command
  920.   FD                        Self-test failed
  921.   FC                        Self-test failed
  922.   FE                        Last command in error; re-send
  923.   E0 scan/release code      Extended keys in Mode 2
  924.  
  925. The computer and keyboard must acknowledge each command and key code with
  926. either FA if there was no error, or FE if the last command/key-code should
  927. be re-sent.  There are three modes of operation for the keyboard, depending
  928. on which scan code assignments you want (these can often be set by a switch
  929. on the back of keyboard, except that if mode 1 is selected from the switch,
  930. the protocol is eliminated an the keyboard works exactly like an original XT
  931. keyboard- newer keyboards only support modes 1 and 3).  In mode 1, the
  932. keyboard gives XT scan-codes.  The keyboard handles the cursor keypad (which
  933. didn't exist on the XT) by simulating pressing or releasing a shift key
  934. (depending on whether shift or num-lock are pressed) and sending codes from
  935. the numeric keypad.  Mode 2 works like mode 1, except that when the keyboard
  936. does the weird stuff with the numeric keypad it prefixes everything with E0
  937. and the release codes are the scan-codes prefixed with F0.  In mode 3, each
  938. key gets a unique code and the release codes work as in mode 2: the release
  939. are the scan-codes prefixed by F0.
  940.  
  941. When the AT keyboard is first reset it's supposed to send an AA if its
  942. self-test passed or FD or FC if it failed.  But before it does this, it
  943. sends a continual stream of AAs with the parity incorrect.  Once the
  944. computer sends an FE to indicate that there is a parity error, the keyboard
  945. stops sending bad AAs and sends a correct AA or an FD or FC.  This sounds
  946. like someone made a quick fix in the keyboard firmware for mis-matched reset
  947. timing (the keyboard always finishes resetting before the computer so the
  948. computer could miss the AA/FD/FC).
  949.  
  950.  
  951. Q) 3.21  +Can I fake a keyboard so my computer will boot without it?
  952.  
  953.  
  954. [From: jhallen@world.std.com (Joseph H Allen)]
  955.  
  956. () The IBM Keyboard - how do you use a computer without a keyboard?
  957.  
  958. Sometimes a PC needs to be set up as a "turn-key" system with no keyboard
  959. for security reasons, or simply because the application doesn't need a
  960. keyboard.  This causes a dead-lock problem when the system is booting: The
  961. BIOS will detect that there is no keyboard and display the message "keyboard
  962. failure - press F1 to continue," and the system becomes stuck.
  963.  
  964. There is usually a BIOS set-up option for disabling the keyboard test. 
  965. Check the manual for your motherboard.  If your BIOS does not have this
  966. option, you're essentially screwed because there's no simple solution.  You
  967. can't wire the DIN to fake the existence of a keyboard since the BIOS checks
  968. for a self-test result code generated by the keyboard.  In fact, you would
  969. have to implement a small protocol (byte-by-byte handshaking and ACK/NAK) to
  970. simulate a keyboard up to its self test. It's conceivable that someone could
  971. make a DIN connector with a small microcontroller in it to do this, but I
  972. have never seen such a thing.  Another solution is to replace your BIOS with
  973. one which has the keyboard test disable option.  However, you have to find
  974. one which matches your motherboard.
  975.  
  976.  
  977. S) 4.0 Storage/Retrieval Devices
  978.  
  979. Q) 4.1  Why do I lose x Meg on my hard drive?
  980.  
  981. [From: Mike Long <mike.long@analog.com>]
  982.  
  983. The problem here is that there are two different measures of hard
  984. drive storage, both called megabytes.  Computer hardware works on the
  985. basis that one megabyte equals 2^20, or 1048576 bytes.  Hard drive
  986. manufacturers, on the other hand, use a megabyte that has 1000000
  987. bytes, because it makes the drive looks larger.  When buying a hard
  988. drive, you should expect to lose almost 5% of what the manufacturer
  989. claims the drive size to be.
  990.  
  991. The manufacturers are not totally at fault.  The first track of the
  992. drive is used for the partition table and master boot record.  The
  993. amount of data lost here depends on your drive parameters; usually
  994. there are between 32 and 64 sectors (512 bytes/sector) on this first
  995. track, so you lose between 16384 and 32768 bytes that way.
  996.  
  997. Additional space is taken up by two hidden files on your boot drive.
  998. If you are running MS-DOS, these files are IO.SYS and MSDOS.SYS.  If
  999. you are running PC-DOS, the names are IBMIO.SYS and IBMDOS.SYS (?).
  1000.  
  1001. [From: ralf@wpi.wpi.edu (Ralph Valentino)]
  1002.  
  1003. Many drives these days advertise unformatted capacity.  The actual
  1004. formatted capacity may be significantly lower than this as space is
  1005. taken up marking tracks, sectors, CRC's, etc.  Exactly how much lower
  1006. depends on the the size of the sectors.  For instance, placing 1k
  1007. sectors on the disk instead of the usual 512 byte ones may slightly
  1008. increase the usable storage space on the disk.  Note, however, that
  1009. many OS's insist you stick to the 512 byte sectors so this option is
  1010. best left alone.
  1011.  
  1012. A large number of drives also do auto-mapping of bad sectors; when a
  1013. sector goes bad, it will automatically use a spare it kept aside
  1014. during the format.  This is very handy as the OS never needs to deal
  1015. with the problem and some OS's, like DOS, will mark a whole cluster
  1016. bad when a single sector goes bad.  These spare sectors, as many as
  1017. one per track, remain hidden from the OS but still take up space on
  1018. your hard drive.
  1019.  
  1020. When you get to drives larger than 1.0 gig (SCSI), many host adapter
  1021. BIOS's can not deal with this as the BIOS was never designed to handle
  1022. more than 1024 cylinders, 64 heads, and 32 sectors per track. (1024 *
  1023. 64 * 32 * 512bytes/sec = 1.0 gig).  Luckily, some OS's (like OS/2)
  1024. ignore the BIOS all together and read the actual geometry from the
  1025. disk itself.  If, however, you're not using such an OS and you notice
  1026. that you only have 1.0 gig available, you may want to check with the
  1027. manufacturer of your SCSI host adapter to see if a newer BIOS is
  1028. available.
  1029.  
  1030. Q) 4.2  *Should I get an IDE/floppy/SCSI/parallel port tape drive?
  1031. Q) 4.3  I have two floppies. Can I add a floppy based tape drive?
  1032.  
  1033. [From: herbst@techunix.technion.ac.il (Herbst OMR)]
  1034.  
  1035. It depends. On all modern tape drives: yes. Some old tape drives
  1036. cannot do this (my old Jumbo). If you have one of these, you will have
  1037. to buy either a 4-floppy controller or a dedicated tape controller.
  1038.  
  1039. Q) 4.4  How fast is a tape drive? Will a dedicated controller improve this?
  1040.  
  1041. [From: herbst@techunix.technion.ac.il (Herbst OMR)]
  1042.  
  1043. The tape connected through a floppy interface is limited to the floppy
  1044. speed.  On ATs 500Kbit/S. On old XT 250Kbit/S. With card support for
  1045. 2.88MB floppy, 1Mbit/S. Many of the newer cards support this transfer
  1046. rate.
  1047.  
  1048. If the card operate at 500Kbit/S, a dedicated controller card will
  1049. speed up the tape by a factor of two.  In many cases, those cards do
  1050. hardware compression, helping even more.
  1051.  
  1052. Q) 4.5  What is QIC80, QIC40?
  1053.  
  1054. [From: herbst@techunix.technion.ac.il (Herbst OMR)]
  1055.  
  1056. QIC stands for Quarter-Inch Cartridge. QIC80 is the standard for 80MB
  1057. tapes, QIC40 for 40MB tapes. Both standard allows for extended length
  1058. cassettes of 300ft which gives 120MB and 60MB respectively.
  1059.  
  1060. Q) 4.6  How come I can't fit as much stuff on my tape drive as they claim?
  1061.  
  1062. Most tape drives these days advertise capacity with an expected
  1063. compression ratio of 2:1.  If you are backing up compressed files
  1064. (.Z,.ZIP, .ARC, .JPEG, and so forth) then the drive's own compression
  1065. scheme will not be as effective.  For these cases, the actual capacity
  1066. of the tape will be closer to the "uncompressed" capacity.
  1067.  
  1068. A table from herbst@techunix.technion.ac.il (Herbst OMR) shows:
  1069.  
  1070.   stated capacity     standard        tape length         # tracks
  1071.  
  1072.   80MB                QIC40           200ft (normal)      15
  1073.   120MB               QIC40           300ft (extended)    15
  1074.   160MB (rarely)      QIC80           200ft               28
  1075.   250MB               QIC80           300ft               28
  1076.  
  1077.   For all the recording density is 12500 ftpi; max tape speed is 90 ips.
  1078.  
  1079. A second reason is that some tapes assume you will be taking full
  1080. advantage of their "streamers".  Streaming collects a number of tape
  1081. blocks and writes them all at once, preventing the need for backing up
  1082. the tape after each block.  This positions the blocks closer together
  1083. on the tape.  If your backup program is slow, some streamers won't be
  1084. quite as effective.  If you hear the tape drive motor backing up the
  1085. tape alot on writes, this could be the case.
  1086.  
  1087. Q) 4.7  Are Colorado/Conner/Archive/... tapes compatible with each other?
  1088.  
  1089. [From: herbst@techunix.technion.ac.il (Herbst OMR)] 
  1090.  
  1091. If you use the same software: Yes. If you want to use different
  1092. software, then turn compression off. Compression done in software on
  1093. those drives is not compatible.
  1094.  
  1095. Q) 4.8  How does the drive/software know how long the tape is?
  1096.  
  1097. [From: herbst@techunix.technion.ac.il (Herbst OMR)]
  1098.  
  1099. The magnetic tape has holes in it. Inside the cassette enclosure there
  1100. is a small mirror. The drive sends an IR beam through it. Near the end
  1101. of tape the drive receives it. If the IR receiver is dusted, the drive
  1102. may 'reel off' the cassette.
  1103.  
  1104. Q) 4.9  What are all those QICs?
  1105.  
  1106. [From: herbst@techunix.technion.ac.il (Herbst OMR)]
  1107.  
  1108. (Thanks to Karl-Peter Huestegge and Jan Christiaan van Winkel)
  1109. QIC-11 is not an Industry Standard and there exist some incompatible
  1110. versions.
  1111.  
  1112.  Standard      Capacity      Tracks   Speed  Rec-density Flux-Trans Cartridges
  1113.  ----------------------------------------------------------------------------
  1114.  QIC-11     15/30MB (300ft)     4/9   90ips
  1115.             20/40MB (450ft)     4/9   90ips               6400ftpi  DC300XL
  1116.                                                          10000ftpi  DC300XLP
  1117.             27/60MB (600ft)     4/9   90ips              10000ftpi  DC600A
  1118.  
  1119.  QIC-24     45MB (450ft/137m)    9    90ips    8000bpi   10000ftpi
  1120.             55MB (555ft/169m)    9    90ips    8000bpi   10000ftpi
  1121.             60MB (600ft/183m)    9    90ips    8000bpi   10000ftpi  DC600A
  1122.  
  1123.  QIC-120   125MB (600ft/183m)    15   72ips   10000bpi   12500ftpi  DC600A
  1124.  
  1125.  QIC-150   155MB (600ft/183m)    18   72ips   10000bpi   12500ftpi  DC600XTD
  1126.                                                                     DC6150
  1127.  QIC-150   250MB (1000ft/305m)   18   72ips   10000bpi   12500ftpi
  1128.  
  1129.  QIC-320   320MB (600ft/183m)    26   72ips   16000bpi   20000ftpi  DC6320
  1130.  
  1131.  QIC-525   525MB (1000ft/305m)   26   72ips   16000bpi   20000ftpi  DC6525
  1132.  
  1133. * QIC-1000  1000MB (760ft)
  1134.  
  1135. * QIC-2GB
  1136.  
  1137. * QIC-10GB
  1138.  
  1139. Q) 4.10  Which QICs are read/write compatible?
  1140.  
  1141. [From: herbst@techunix.technion.ac.il (Herbst OMR)]
  1142.  
  1143.  The left column should be read: "Tape drives designed for the QIC-???
  1144.  standard *should* be able to read/write the following Tape formats:"
  1145.  
  1146.  TAPE-DRIVES     |                     Tape - Formats                      |
  1147.  designed for:   | QIC-11 | QIC-24 | QIC-120 | QIC-150 | QIC-320 | QIC-525 |
  1148.  ----------------|--------|--------|---------|---------|---------|---------|
  1149.  QIC-11          |  R  W  |        |         |         |         |         |
  1150.  QIC-24          |  R  W  | R   W  |  R      |         |         |         |
  1151.  QIC-120         |  R  -  | R   -  |  R   W  |  R      |         |         |
  1152.  QIC-150         |  R  -  | R   -  |  R   W  |  R   W  |         |         |
  1153.  QIC-320         |  R  -  | R   -  |  R   W  |  R   W  |  R   W  |  ?   ?  |
  1154.  QIC-525         |  R     | R      |  R   W  |  R   W  |  R   W  |  R   W  |
  1155.  ---------------------------------------------------------------------------
  1156.  
  1157. ===============
  1158. Ralph Valentino   (ralf@chpc.org)  (ralf@wpi.wpi.edu)
  1159. Hardware Engineer,  Worcester  Polytechnic  Institute
  1160. Center for High Performance Computing, Marlborough MA
  1161.